<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span id="local-6989586621679489288"><span id="local-6989586621679489289"><span id="local-6989586621679489290"><span id="local-6989586621679489291"><span id="local-6989586621679489292"><span id="local-6989586621679489293"><span id="local-6989586621679489294"></span></span></span></span></span></span></span><span class="hs-pragma">{-# LANGUAGE Trustworthy #-}</span><span>
</span><span id="line-2"></span><span class="hs-pragma">{-# LANGUAGE CPP, NoImplicitPrelude, StandaloneDeriving #-}</span><span>
</span><span id="line-3"></span><span class="hs-pragma">{-# OPTIONS_HADDOCK not-home #-}</span><span>
</span><span id="line-4"></span><span>
</span><span id="line-5"></span><span class="hs-comment">-----------------------------------------------------------------------------</span><span>
</span><span id="line-6"></span><span class="hs-comment">-- |</span><span>
</span><span id="line-7"></span><span class="hs-comment">-- Module      :  GHC.Unicode</span><span>
</span><span id="line-8"></span><span class="hs-comment">-- Copyright   :  (c) The University of Glasgow, 2003</span><span>
</span><span id="line-9"></span><span class="hs-comment">-- License     :  see libraries/base/LICENSE</span><span>
</span><span id="line-10"></span><span class="hs-comment">--</span><span>
</span><span id="line-11"></span><span class="hs-comment">-- Maintainer  :  cvs-ghc@haskell.org</span><span>
</span><span id="line-12"></span><span class="hs-comment">-- Stability   :  internal</span><span>
</span><span id="line-13"></span><span class="hs-comment">-- Portability :  non-portable (GHC extensions)</span><span>
</span><span id="line-14"></span><span class="hs-comment">--</span><span>
</span><span id="line-15"></span><span class="hs-comment">-- Implementations for the character predicates (isLower, isUpper, etc.)</span><span>
</span><span id="line-16"></span><span class="hs-comment">-- and the conversions (toUpper, toLower).  The implementation uses</span><span>
</span><span id="line-17"></span><span class="hs-comment">-- libunicode on Unix systems if that is available.</span><span>
</span><span id="line-18"></span><span class="hs-comment">--</span><span>
</span><span id="line-19"></span><span class="hs-comment">-----------------------------------------------------------------------------</span><span>
</span><span id="line-20"></span><span>
</span><span id="line-21"></span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">GHC.Unicode</span><span> </span><span class="hs-special">(</span><span>
</span><span id="line-22"></span><span>        </span><span class="annot"><a href="GHC.Unicode.html#unicodeVersion"><span class="hs-identifier">unicodeVersion</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-23"></span><span>        </span><span class="annot"><a href="GHC.Unicode.html#GeneralCategory"><span class="hs-identifier">GeneralCategory</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unicode.html#generalCategory"><span class="hs-identifier">generalCategory</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-24"></span><span>        </span><span class="annot"><a href="GHC.Unicode.html#isAscii"><span class="hs-identifier">isAscii</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unicode.html#isLatin1"><span class="hs-identifier">isLatin1</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unicode.html#isControl"><span class="hs-identifier">isControl</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-25"></span><span>        </span><span class="annot"><a href="GHC.Unicode.html#isAsciiUpper"><span class="hs-identifier">isAsciiUpper</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unicode.html#isAsciiLower"><span class="hs-identifier">isAsciiLower</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-26"></span><span>        </span><span class="annot"><a href="GHC.Unicode.html#isPrint"><span class="hs-identifier">isPrint</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unicode.html#isSpace"><span class="hs-identifier">isSpace</span></a></span><span class="hs-special">,</span><span>  </span><span class="annot"><a href="GHC.Unicode.html#isUpper"><span class="hs-identifier">isUpper</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-27"></span><span>        </span><span class="annot"><a href="GHC.Unicode.html#isLower"><span class="hs-identifier">isLower</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unicode.html#isAlpha"><span class="hs-identifier">isAlpha</span></a></span><span class="hs-special">,</span><span>  </span><span class="annot"><a href="GHC.Unicode.html#isDigit"><span class="hs-identifier">isDigit</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-28"></span><span>        </span><span class="annot"><a href="GHC.Unicode.html#isOctDigit"><span class="hs-identifier">isOctDigit</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unicode.html#isHexDigit"><span class="hs-identifier">isHexDigit</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unicode.html#isAlphaNum"><span class="hs-identifier">isAlphaNum</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-29"></span><span>        </span><span class="annot"><a href="GHC.Unicode.html#isPunctuation"><span class="hs-identifier">isPunctuation</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unicode.html#isSymbol"><span class="hs-identifier">isSymbol</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-30"></span><span>        </span><span class="annot"><a href="GHC.Unicode.html#toUpper"><span class="hs-identifier">toUpper</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unicode.html#toLower"><span class="hs-identifier">toLower</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unicode.html#toTitle"><span class="hs-identifier">toTitle</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-31"></span><span>        </span><span class="annot"><a href="GHC.Unicode.html#wgencat"><span class="hs-identifier">wgencat</span></a></span><span>
</span><span id="line-32"></span><span>    </span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-33"></span><span>
</span><span id="line-34"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Base.html"><span class="hs-identifier">GHC.Base</span></a></span><span>
</span><span id="line-35"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Char.html"><span class="hs-identifier">GHC.Char</span></a></span><span>        </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Char.html#chr"><span class="hs-identifier">chr</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-36"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Real.html"><span class="hs-identifier">GHC.Real</span></a></span><span>
</span><span id="line-37"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Enum.html"><span class="hs-identifier">GHC.Enum</span></a></span><span> </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="GHC.Enum.html#Enum"><span class="hs-identifier">Enum</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Enum.html#Bounded"><span class="hs-identifier">Bounded</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-38"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Ix.html"><span class="hs-identifier">GHC.Ix</span></a></span><span> </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="GHC.Ix.html#Ix"><span class="hs-identifier">Ix</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-39"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Num.html"><span class="hs-identifier">GHC.Num</span></a></span><span>
</span><span id="line-40"></span><span class="hs-keyword">import</span><span> </span><span class="hs-pragma">{-# SOURCE</span><span> </span><span class="hs-pragma">#-}</span><span> </span><span class="annot"><a href="Data.Version.html"><span class="hs-identifier">Data.Version</span></a></span><span>
</span><span id="line-41"></span><span>
</span><span id="line-42"></span><span class="hs-comment">-- Data.Char.chr already imports this and we need to define a Show instance</span><span>
</span><span id="line-43"></span><span class="hs-comment">-- for GeneralCategory</span><span>
</span><span id="line-44"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Show.html"><span class="hs-identifier">GHC.Show</span></a></span><span> </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="GHC.Show.html#Show"><span class="hs-identifier">Show</span></a></span><span> </span><span class="hs-special">)</span><span class="hs-cpp">

#include &quot;HsBaseConfig.h&quot;
</span><span class="hs-cpp">#include &quot;UnicodeVersion.h&quot;
</span><span>
</span><span id="line-49"></span><span class="hs-comment">-- | Version of Unicode standard used by @base@.</span><span>
</span><span id="line-50"></span><span class="annot"><a href="GHC.Unicode.html#unicodeVersion"><span class="hs-identifier hs-type">unicodeVersion</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Data.Version.html#Version"><span class="hs-identifier hs-type">Version</span></a></span><span>
</span><span id="line-51"></span><span id="unicodeVersion"><span class="annot"><span class="annottext">unicodeVersion :: Version
</span><a href="GHC.Unicode.html#unicodeVersion"><span class="hs-identifier hs-var hs-var">unicodeVersion</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; Version
</span><a href="Data.Version.html#makeVersion"><span class="hs-identifier hs-var">makeVersion</span></a></span><span> </span><span class="hs-identifier">UNICODE_VERSION_NUMS</span><span>
</span><span id="line-52"></span><span>
</span><span id="line-53"></span><span class="hs-comment">-- | Unicode General Categories (column 2 of the UnicodeData table) in</span><span>
</span><span id="line-54"></span><span class="hs-comment">-- the order they are listed in the Unicode standard (the Unicode</span><span>
</span><span id="line-55"></span><span class="hs-comment">-- Character Database, in particular).</span><span>
</span><span id="line-56"></span><span class="hs-comment">--</span><span>
</span><span id="line-57"></span><span class="hs-comment">-- ==== __Examples__</span><span>
</span><span id="line-58"></span><span class="hs-comment">--</span><span>
</span><span id="line-59"></span><span class="hs-comment">-- Basic usage:</span><span>
</span><span id="line-60"></span><span class="hs-comment">--</span><span>
</span><span id="line-61"></span><span class="hs-comment">-- &gt;&gt;&gt; :t OtherLetter</span><span>
</span><span id="line-62"></span><span class="hs-comment">-- OtherLetter :: GeneralCategory</span><span>
</span><span id="line-63"></span><span class="hs-comment">--</span><span>
</span><span id="line-64"></span><span class="hs-comment">-- 'Eq' instance:</span><span>
</span><span id="line-65"></span><span class="hs-comment">--</span><span>
</span><span id="line-66"></span><span class="hs-comment">-- &gt;&gt;&gt; UppercaseLetter == UppercaseLetter</span><span>
</span><span id="line-67"></span><span class="hs-comment">-- True</span><span>
</span><span id="line-68"></span><span class="hs-comment">-- &gt;&gt;&gt; UppercaseLetter == LowercaseLetter</span><span>
</span><span id="line-69"></span><span class="hs-comment">-- False</span><span>
</span><span id="line-70"></span><span class="hs-comment">--</span><span>
</span><span id="line-71"></span><span class="hs-comment">-- 'Ord' instance:</span><span>
</span><span id="line-72"></span><span class="hs-comment">--</span><span>
</span><span id="line-73"></span><span class="hs-comment">-- &gt;&gt;&gt; NonSpacingMark &lt;= MathSymbol</span><span>
</span><span id="line-74"></span><span class="hs-comment">-- True</span><span>
</span><span id="line-75"></span><span class="hs-comment">--</span><span>
</span><span id="line-76"></span><span class="hs-comment">-- 'Enum' instance:</span><span>
</span><span id="line-77"></span><span class="hs-comment">--</span><span>
</span><span id="line-78"></span><span class="hs-comment">-- &gt;&gt;&gt; enumFromTo ModifierLetter SpacingCombiningMark</span><span>
</span><span id="line-79"></span><span class="hs-comment">-- [ModifierLetter,OtherLetter,NonSpacingMark,SpacingCombiningMark]</span><span>
</span><span id="line-80"></span><span class="hs-comment">--</span><span>
</span><span id="line-81"></span><span class="hs-comment">-- 'Text.Read.Read' instance:</span><span>
</span><span id="line-82"></span><span class="hs-comment">--</span><span>
</span><span id="line-83"></span><span class="hs-comment">-- &gt;&gt;&gt; read &quot;DashPunctuation&quot; :: GeneralCategory</span><span>
</span><span id="line-84"></span><span class="hs-comment">-- DashPunctuation</span><span>
</span><span id="line-85"></span><span class="hs-comment">-- &gt;&gt;&gt; read &quot;17&quot; :: GeneralCategory</span><span>
</span><span id="line-86"></span><span class="hs-comment">-- *** Exception: Prelude.read: no parse</span><span>
</span><span id="line-87"></span><span class="hs-comment">--</span><span>
</span><span id="line-88"></span><span class="hs-comment">-- 'Show' instance:</span><span>
</span><span id="line-89"></span><span class="hs-comment">--</span><span>
</span><span id="line-90"></span><span class="hs-comment">-- &gt;&gt;&gt; show EnclosingMark</span><span>
</span><span id="line-91"></span><span class="hs-comment">-- &quot;EnclosingMark&quot;</span><span>
</span><span id="line-92"></span><span class="hs-comment">--</span><span>
</span><span id="line-93"></span><span class="hs-comment">-- 'Bounded' instance:</span><span>
</span><span id="line-94"></span><span class="hs-comment">--</span><span>
</span><span id="line-95"></span><span class="hs-comment">-- &gt;&gt;&gt; minBound :: GeneralCategory</span><span>
</span><span id="line-96"></span><span class="hs-comment">-- UppercaseLetter</span><span>
</span><span id="line-97"></span><span class="hs-comment">-- &gt;&gt;&gt; maxBound :: GeneralCategory</span><span>
</span><span id="line-98"></span><span class="hs-comment">-- NotAssigned</span><span>
</span><span id="line-99"></span><span class="hs-comment">--</span><span>
</span><span id="line-100"></span><span class="hs-comment">-- 'Ix' instance:</span><span>
</span><span id="line-101"></span><span class="hs-comment">--</span><span>
</span><span id="line-102"></span><span class="hs-comment">--  &gt;&gt;&gt; import Data.Ix ( index )</span><span>
</span><span id="line-103"></span><span class="hs-comment">--  &gt;&gt;&gt; index (OtherLetter,Control) FinalQuote</span><span>
</span><span id="line-104"></span><span class="hs-comment">--  12</span><span>
</span><span id="line-105"></span><span class="hs-comment">--  &gt;&gt;&gt; index (OtherLetter,Control) Format</span><span>
</span><span id="line-106"></span><span class="hs-comment">--  *** Exception: Error in array index</span><span>
</span><span id="line-107"></span><span class="hs-comment">--</span><span>
</span><span id="line-108"></span><span class="hs-keyword">data</span><span> </span><span id="GeneralCategory"><span class="annot"><a href="GHC.Unicode.html#GeneralCategory"><span class="hs-identifier hs-var">GeneralCategory</span></a></span></span><span>
</span><span id="line-109"></span><span>        </span><span class="hs-glyph">=</span><span> </span><span id="UppercaseLetter"><span class="annot"><a href="GHC.Unicode.html#UppercaseLetter"><span class="hs-identifier hs-var">UppercaseLetter</span></a></span></span><span>       </span><span class="hs-comment">-- ^ Lu: Letter, Uppercase</span><span>
</span><span id="line-110"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="LowercaseLetter"><span class="annot"><a href="GHC.Unicode.html#LowercaseLetter"><span class="hs-identifier hs-var">LowercaseLetter</span></a></span></span><span>       </span><span class="hs-comment">-- ^ Ll: Letter, Lowercase</span><span>
</span><span id="line-111"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="TitlecaseLetter"><span class="annot"><a href="GHC.Unicode.html#TitlecaseLetter"><span class="hs-identifier hs-var">TitlecaseLetter</span></a></span></span><span>       </span><span class="hs-comment">-- ^ Lt: Letter, Titlecase</span><span>
</span><span id="line-112"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="ModifierLetter"><span class="annot"><a href="GHC.Unicode.html#ModifierLetter"><span class="hs-identifier hs-var">ModifierLetter</span></a></span></span><span>        </span><span class="hs-comment">-- ^ Lm: Letter, Modifier</span><span>
</span><span id="line-113"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="OtherLetter"><span class="annot"><a href="GHC.Unicode.html#OtherLetter"><span class="hs-identifier hs-var">OtherLetter</span></a></span></span><span>           </span><span class="hs-comment">-- ^ Lo: Letter, Other</span><span>
</span><span id="line-114"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="NonSpacingMark"><span class="annot"><a href="GHC.Unicode.html#NonSpacingMark"><span class="hs-identifier hs-var">NonSpacingMark</span></a></span></span><span>        </span><span class="hs-comment">-- ^ Mn: Mark, Non-Spacing</span><span>
</span><span id="line-115"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="SpacingCombiningMark"><span class="annot"><a href="GHC.Unicode.html#SpacingCombiningMark"><span class="hs-identifier hs-var">SpacingCombiningMark</span></a></span></span><span>  </span><span class="hs-comment">-- ^ Mc: Mark, Spacing Combining</span><span>
</span><span id="line-116"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="EnclosingMark"><span class="annot"><a href="GHC.Unicode.html#EnclosingMark"><span class="hs-identifier hs-var">EnclosingMark</span></a></span></span><span>         </span><span class="hs-comment">-- ^ Me: Mark, Enclosing</span><span>
</span><span id="line-117"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="DecimalNumber"><span class="annot"><a href="GHC.Unicode.html#DecimalNumber"><span class="hs-identifier hs-var">DecimalNumber</span></a></span></span><span>         </span><span class="hs-comment">-- ^ Nd: Number, Decimal</span><span>
</span><span id="line-118"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="LetterNumber"><span class="annot"><a href="GHC.Unicode.html#LetterNumber"><span class="hs-identifier hs-var">LetterNumber</span></a></span></span><span>          </span><span class="hs-comment">-- ^ Nl: Number, Letter</span><span>
</span><span id="line-119"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="OtherNumber"><span class="annot"><a href="GHC.Unicode.html#OtherNumber"><span class="hs-identifier hs-var">OtherNumber</span></a></span></span><span>           </span><span class="hs-comment">-- ^ No: Number, Other</span><span>
</span><span id="line-120"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="ConnectorPunctuation"><span class="annot"><a href="GHC.Unicode.html#ConnectorPunctuation"><span class="hs-identifier hs-var">ConnectorPunctuation</span></a></span></span><span>  </span><span class="hs-comment">-- ^ Pc: Punctuation, Connector</span><span>
</span><span id="line-121"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="DashPunctuation"><span class="annot"><a href="GHC.Unicode.html#DashPunctuation"><span class="hs-identifier hs-var">DashPunctuation</span></a></span></span><span>       </span><span class="hs-comment">-- ^ Pd: Punctuation, Dash</span><span>
</span><span id="line-122"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="OpenPunctuation"><span class="annot"><a href="GHC.Unicode.html#OpenPunctuation"><span class="hs-identifier hs-var">OpenPunctuation</span></a></span></span><span>       </span><span class="hs-comment">-- ^ Ps: Punctuation, Open</span><span>
</span><span id="line-123"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="ClosePunctuation"><span class="annot"><a href="GHC.Unicode.html#ClosePunctuation"><span class="hs-identifier hs-var">ClosePunctuation</span></a></span></span><span>      </span><span class="hs-comment">-- ^ Pe: Punctuation, Close</span><span>
</span><span id="line-124"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="InitialQuote"><span class="annot"><a href="GHC.Unicode.html#InitialQuote"><span class="hs-identifier hs-var">InitialQuote</span></a></span></span><span>          </span><span class="hs-comment">-- ^ Pi: Punctuation, Initial quote</span><span>
</span><span id="line-125"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="FinalQuote"><span class="annot"><a href="GHC.Unicode.html#FinalQuote"><span class="hs-identifier hs-var">FinalQuote</span></a></span></span><span>            </span><span class="hs-comment">-- ^ Pf: Punctuation, Final quote</span><span>
</span><span id="line-126"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="OtherPunctuation"><span class="annot"><a href="GHC.Unicode.html#OtherPunctuation"><span class="hs-identifier hs-var">OtherPunctuation</span></a></span></span><span>      </span><span class="hs-comment">-- ^ Po: Punctuation, Other</span><span>
</span><span id="line-127"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="MathSymbol"><span class="annot"><a href="GHC.Unicode.html#MathSymbol"><span class="hs-identifier hs-var">MathSymbol</span></a></span></span><span>            </span><span class="hs-comment">-- ^ Sm: Symbol, Math</span><span>
</span><span id="line-128"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="CurrencySymbol"><span class="annot"><a href="GHC.Unicode.html#CurrencySymbol"><span class="hs-identifier hs-var">CurrencySymbol</span></a></span></span><span>        </span><span class="hs-comment">-- ^ Sc: Symbol, Currency</span><span>
</span><span id="line-129"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="ModifierSymbol"><span class="annot"><a href="GHC.Unicode.html#ModifierSymbol"><span class="hs-identifier hs-var">ModifierSymbol</span></a></span></span><span>        </span><span class="hs-comment">-- ^ Sk: Symbol, Modifier</span><span>
</span><span id="line-130"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="OtherSymbol"><span class="annot"><a href="GHC.Unicode.html#OtherSymbol"><span class="hs-identifier hs-var">OtherSymbol</span></a></span></span><span>           </span><span class="hs-comment">-- ^ So: Symbol, Other</span><span>
</span><span id="line-131"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="Space"><span class="annot"><a href="GHC.Unicode.html#Space"><span class="hs-identifier hs-var">Space</span></a></span></span><span>                 </span><span class="hs-comment">-- ^ Zs: Separator, Space</span><span>
</span><span id="line-132"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="LineSeparator"><span class="annot"><a href="GHC.Unicode.html#LineSeparator"><span class="hs-identifier hs-var">LineSeparator</span></a></span></span><span>         </span><span class="hs-comment">-- ^ Zl: Separator, Line</span><span>
</span><span id="line-133"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="ParagraphSeparator"><span class="annot"><a href="GHC.Unicode.html#ParagraphSeparator"><span class="hs-identifier hs-var">ParagraphSeparator</span></a></span></span><span>    </span><span class="hs-comment">-- ^ Zp: Separator, Paragraph</span><span>
</span><span id="line-134"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="Control"><span class="annot"><a href="GHC.Unicode.html#Control"><span class="hs-identifier hs-var">Control</span></a></span></span><span>               </span><span class="hs-comment">-- ^ Cc: Other, Control</span><span>
</span><span id="line-135"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="Format"><span class="annot"><a href="GHC.Unicode.html#Format"><span class="hs-identifier hs-var">Format</span></a></span></span><span>                </span><span class="hs-comment">-- ^ Cf: Other, Format</span><span>
</span><span id="line-136"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="Surrogate"><span class="annot"><a href="GHC.Unicode.html#Surrogate"><span class="hs-identifier hs-var">Surrogate</span></a></span></span><span>             </span><span class="hs-comment">-- ^ Cs: Other, Surrogate</span><span>
</span><span id="line-137"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="PrivateUse"><span class="annot"><a href="GHC.Unicode.html#PrivateUse"><span class="hs-identifier hs-var">PrivateUse</span></a></span></span><span>            </span><span class="hs-comment">-- ^ Co: Other, Private Use</span><span>
</span><span id="line-138"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="NotAssigned"><span class="annot"><a href="GHC.Unicode.html#NotAssigned"><span class="hs-identifier hs-var">NotAssigned</span></a></span></span><span>           </span><span class="hs-comment">-- ^ Cn: Other, Not Assigned</span><span>
</span><span id="line-139"></span><span>        </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span> </span><span id="local-6989586621679489166"><span id="local-6989586621679489168"><span id="local-6989586621679489170"><span class="annot"><span class="annottext">Int -&gt; GeneralCategory -&gt; ShowS
[GeneralCategory] -&gt; ShowS
GeneralCategory -&gt; String
(Int -&gt; GeneralCategory -&gt; ShowS)
-&gt; (GeneralCategory -&gt; String)
-&gt; ([GeneralCategory] -&gt; ShowS)
-&gt; Show GeneralCategory
forall a.
(Int -&gt; a -&gt; ShowS) -&gt; (a -&gt; String) -&gt; ([a] -&gt; ShowS) -&gt; Show a
showList :: [GeneralCategory] -&gt; ShowS
$cshowList :: [GeneralCategory] -&gt; ShowS
show :: GeneralCategory -&gt; String
$cshow :: GeneralCategory -&gt; String
showsPrec :: Int -&gt; GeneralCategory -&gt; ShowS
$cshowsPrec :: Int -&gt; GeneralCategory -&gt; ShowS
</span><a href="GHC.Show.html#Show"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Show</span></a></span></span></span></span><span>     </span><span class="hs-comment">-- ^ @since 2.01</span><span>
</span><span id="line-140"></span><span>                 </span><span class="hs-special">,</span><span> </span><span id="local-6989586621679489161"><span id="local-6989586621679489163"><span class="annot"><span class="annottext">GeneralCategory -&gt; GeneralCategory -&gt; Bool
(GeneralCategory -&gt; GeneralCategory -&gt; Bool)
-&gt; (GeneralCategory -&gt; GeneralCategory -&gt; Bool)
-&gt; Eq GeneralCategory
forall a. (a -&gt; a -&gt; Bool) -&gt; (a -&gt; a -&gt; Bool) -&gt; Eq a
/= :: GeneralCategory -&gt; GeneralCategory -&gt; Bool
$c/= :: GeneralCategory -&gt; GeneralCategory -&gt; Bool
== :: GeneralCategory -&gt; GeneralCategory -&gt; Bool
$c== :: GeneralCategory -&gt; GeneralCategory -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#Eq"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Eq</span></a></span></span></span><span>       </span><span class="hs-comment">-- ^ @since 2.01</span><span>
</span><span id="line-141"></span><span>                 </span><span class="hs-special">,</span><span> </span><span id="local-6989586621679489141"><span id="local-6989586621679489143"><span id="local-6989586621679489146"><span id="local-6989586621679489149"><span id="local-6989586621679489152"><span id="local-6989586621679489154"><span id="local-6989586621679489156"><span class="annot"><span class="annottext">Eq GeneralCategory
Eq GeneralCategory
-&gt; (GeneralCategory -&gt; GeneralCategory -&gt; Ordering)
-&gt; (GeneralCategory -&gt; GeneralCategory -&gt; Bool)
-&gt; (GeneralCategory -&gt; GeneralCategory -&gt; Bool)
-&gt; (GeneralCategory -&gt; GeneralCategory -&gt; Bool)
-&gt; (GeneralCategory -&gt; GeneralCategory -&gt; Bool)
-&gt; (GeneralCategory -&gt; GeneralCategory -&gt; GeneralCategory)
-&gt; (GeneralCategory -&gt; GeneralCategory -&gt; GeneralCategory)
-&gt; Ord GeneralCategory
GeneralCategory -&gt; GeneralCategory -&gt; Bool
GeneralCategory -&gt; GeneralCategory -&gt; Ordering
GeneralCategory -&gt; GeneralCategory -&gt; GeneralCategory
forall a.
Eq a
-&gt; (a -&gt; a -&gt; Ordering)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; a)
-&gt; (a -&gt; a -&gt; a)
-&gt; Ord a
min :: GeneralCategory -&gt; GeneralCategory -&gt; GeneralCategory
$cmin :: GeneralCategory -&gt; GeneralCategory -&gt; GeneralCategory
max :: GeneralCategory -&gt; GeneralCategory -&gt; GeneralCategory
$cmax :: GeneralCategory -&gt; GeneralCategory -&gt; GeneralCategory
&gt;= :: GeneralCategory -&gt; GeneralCategory -&gt; Bool
$c&gt;= :: GeneralCategory -&gt; GeneralCategory -&gt; Bool
&gt; :: GeneralCategory -&gt; GeneralCategory -&gt; Bool
$c&gt; :: GeneralCategory -&gt; GeneralCategory -&gt; Bool
&lt;= :: GeneralCategory -&gt; GeneralCategory -&gt; Bool
$c&lt;= :: GeneralCategory -&gt; GeneralCategory -&gt; Bool
&lt; :: GeneralCategory -&gt; GeneralCategory -&gt; Bool
$c&lt; :: GeneralCategory -&gt; GeneralCategory -&gt; Bool
compare :: GeneralCategory -&gt; GeneralCategory -&gt; Ordering
$ccompare :: GeneralCategory -&gt; GeneralCategory -&gt; Ordering
</span><a href="../../ghc-prim/src/GHC.Classes.html#Ord"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Ord</span></a></span></span></span></span></span></span></span></span><span>      </span><span class="hs-comment">-- ^ @since 2.01</span><span>
</span><span id="line-142"></span><span>                 </span><span class="hs-special">,</span><span> </span><span id="local-6989586621679489104"><span id="local-6989586621679489106"><span id="local-6989586621679489110"><span id="local-6989586621679489114"><span id="local-6989586621679489116"><span id="local-6989586621679489126"><span id="local-6989586621679489132"><span id="local-6989586621679489138"><span class="annot"><span class="annottext">Int -&gt; GeneralCategory
GeneralCategory -&gt; Int
GeneralCategory -&gt; [GeneralCategory]
GeneralCategory -&gt; GeneralCategory
GeneralCategory -&gt; GeneralCategory -&gt; [GeneralCategory]
GeneralCategory
-&gt; GeneralCategory -&gt; GeneralCategory -&gt; [GeneralCategory]
(GeneralCategory -&gt; GeneralCategory)
-&gt; (GeneralCategory -&gt; GeneralCategory)
-&gt; (Int -&gt; GeneralCategory)
-&gt; (GeneralCategory -&gt; Int)
-&gt; (GeneralCategory -&gt; [GeneralCategory])
-&gt; (GeneralCategory -&gt; GeneralCategory -&gt; [GeneralCategory])
-&gt; (GeneralCategory -&gt; GeneralCategory -&gt; [GeneralCategory])
-&gt; (GeneralCategory
    -&gt; GeneralCategory -&gt; GeneralCategory -&gt; [GeneralCategory])
-&gt; Enum GeneralCategory
forall a.
(a -&gt; a)
-&gt; (a -&gt; a)
-&gt; (Int -&gt; a)
-&gt; (a -&gt; Int)
-&gt; (a -&gt; [a])
-&gt; (a -&gt; a -&gt; [a])
-&gt; (a -&gt; a -&gt; [a])
-&gt; (a -&gt; a -&gt; a -&gt; [a])
-&gt; Enum a
enumFromThenTo :: GeneralCategory
-&gt; GeneralCategory -&gt; GeneralCategory -&gt; [GeneralCategory]
$cenumFromThenTo :: GeneralCategory
-&gt; GeneralCategory -&gt; GeneralCategory -&gt; [GeneralCategory]
enumFromTo :: GeneralCategory -&gt; GeneralCategory -&gt; [GeneralCategory]
$cenumFromTo :: GeneralCategory -&gt; GeneralCategory -&gt; [GeneralCategory]
enumFromThen :: GeneralCategory -&gt; GeneralCategory -&gt; [GeneralCategory]
$cenumFromThen :: GeneralCategory -&gt; GeneralCategory -&gt; [GeneralCategory]
enumFrom :: GeneralCategory -&gt; [GeneralCategory]
$cenumFrom :: GeneralCategory -&gt; [GeneralCategory]
fromEnum :: GeneralCategory -&gt; Int
$cfromEnum :: GeneralCategory -&gt; Int
toEnum :: Int -&gt; GeneralCategory
$ctoEnum :: Int -&gt; GeneralCategory
pred :: GeneralCategory -&gt; GeneralCategory
$cpred :: GeneralCategory -&gt; GeneralCategory
succ :: GeneralCategory -&gt; GeneralCategory
$csucc :: GeneralCategory -&gt; GeneralCategory
</span><a href="GHC.Enum.html#Enum"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Enum</span></a></span></span></span></span></span></span></span></span></span><span>     </span><span class="hs-comment">-- ^ @since 2.01</span><span>
</span><span id="line-143"></span><span>                 </span><span class="hs-special">,</span><span> </span><span id="local-6989586621679489099"><span id="local-6989586621679489101"><span class="annot"><span class="annottext">GeneralCategory
GeneralCategory -&gt; GeneralCategory -&gt; Bounded GeneralCategory
forall a. a -&gt; a -&gt; Bounded a
maxBound :: GeneralCategory
$cmaxBound :: GeneralCategory
minBound :: GeneralCategory
$cminBound :: GeneralCategory
</span><a href="GHC.Enum.html#Bounded"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Bounded</span></a></span></span></span><span>  </span><span class="hs-comment">-- ^ @since 2.01</span><span>
</span><span id="line-144"></span><span>                 </span><span class="hs-special">,</span><span> </span><span id="local-6989586621679489082"><span id="local-6989586621679489084"><span id="local-6989586621679489086"><span id="local-6989586621679489088"><span id="local-6989586621679489090"><span id="local-6989586621679489093"><span class="annot"><span class="annottext">Ord GeneralCategory
Ord GeneralCategory
-&gt; ((GeneralCategory, GeneralCategory) -&gt; [GeneralCategory])
-&gt; ((GeneralCategory, GeneralCategory) -&gt; GeneralCategory -&gt; Int)
-&gt; ((GeneralCategory, GeneralCategory) -&gt; GeneralCategory -&gt; Int)
-&gt; ((GeneralCategory, GeneralCategory) -&gt; GeneralCategory -&gt; Bool)
-&gt; ((GeneralCategory, GeneralCategory) -&gt; Int)
-&gt; ((GeneralCategory, GeneralCategory) -&gt; Int)
-&gt; Ix GeneralCategory
(GeneralCategory, GeneralCategory) -&gt; Int
(GeneralCategory, GeneralCategory) -&gt; [GeneralCategory]
(GeneralCategory, GeneralCategory) -&gt; GeneralCategory -&gt; Bool
(GeneralCategory, GeneralCategory) -&gt; GeneralCategory -&gt; Int
forall a.
Ord a
-&gt; ((a, a) -&gt; [a])
-&gt; ((a, a) -&gt; a -&gt; Int)
-&gt; ((a, a) -&gt; a -&gt; Int)
-&gt; ((a, a) -&gt; a -&gt; Bool)
-&gt; ((a, a) -&gt; Int)
-&gt; ((a, a) -&gt; Int)
-&gt; Ix a
unsafeRangeSize :: (GeneralCategory, GeneralCategory) -&gt; Int
$cunsafeRangeSize :: (GeneralCategory, GeneralCategory) -&gt; Int
rangeSize :: (GeneralCategory, GeneralCategory) -&gt; Int
$crangeSize :: (GeneralCategory, GeneralCategory) -&gt; Int
inRange :: (GeneralCategory, GeneralCategory) -&gt; GeneralCategory -&gt; Bool
$cinRange :: (GeneralCategory, GeneralCategory) -&gt; GeneralCategory -&gt; Bool
unsafeIndex :: (GeneralCategory, GeneralCategory) -&gt; GeneralCategory -&gt; Int
$cunsafeIndex :: (GeneralCategory, GeneralCategory) -&gt; GeneralCategory -&gt; Int
index :: (GeneralCategory, GeneralCategory) -&gt; GeneralCategory -&gt; Int
$cindex :: (GeneralCategory, GeneralCategory) -&gt; GeneralCategory -&gt; Int
range :: (GeneralCategory, GeneralCategory) -&gt; [GeneralCategory]
$crange :: (GeneralCategory, GeneralCategory) -&gt; [GeneralCategory]
</span><a href="GHC.Ix.html#Ix"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Ix</span></a></span></span></span></span></span></span></span><span>       </span><span class="hs-comment">-- ^ @since 2.01</span><span>
</span><span id="line-145"></span><span>                 </span><span class="hs-special">)</span><span>
</span><span id="line-146"></span><span>
</span><span id="line-147"></span><span class="hs-comment">-- | The Unicode general category of the character. This relies on the</span><span>
</span><span id="line-148"></span><span class="hs-comment">-- 'Enum' instance of 'GeneralCategory', which must remain in the</span><span>
</span><span id="line-149"></span><span class="hs-comment">-- same order as the categories are presented in the Unicode</span><span>
</span><span id="line-150"></span><span class="hs-comment">-- standard.</span><span>
</span><span id="line-151"></span><span class="hs-comment">--</span><span>
</span><span id="line-152"></span><span class="hs-comment">-- ==== __Examples__</span><span>
</span><span id="line-153"></span><span class="hs-comment">--</span><span>
</span><span id="line-154"></span><span class="hs-comment">-- Basic usage:</span><span>
</span><span id="line-155"></span><span class="hs-comment">--</span><span>
</span><span id="line-156"></span><span class="hs-comment">-- &gt;&gt;&gt; generalCategory 'a'</span><span>
</span><span id="line-157"></span><span class="hs-comment">-- LowercaseLetter</span><span>
</span><span id="line-158"></span><span class="hs-comment">-- &gt;&gt;&gt; generalCategory 'A'</span><span>
</span><span id="line-159"></span><span class="hs-comment">-- UppercaseLetter</span><span>
</span><span id="line-160"></span><span class="hs-comment">-- &gt;&gt;&gt; generalCategory '0'</span><span>
</span><span id="line-161"></span><span class="hs-comment">-- DecimalNumber</span><span>
</span><span id="line-162"></span><span class="hs-comment">-- &gt;&gt;&gt; generalCategory '%'</span><span>
</span><span id="line-163"></span><span class="hs-comment">-- OtherPunctuation</span><span>
</span><span id="line-164"></span><span class="hs-comment">-- &gt;&gt;&gt; generalCategory '&#9829;'</span><span>
</span><span id="line-165"></span><span class="hs-comment">-- OtherSymbol</span><span>
</span><span id="line-166"></span><span class="hs-comment">-- &gt;&gt;&gt; generalCategory '\31'</span><span>
</span><span id="line-167"></span><span class="hs-comment">-- Control</span><span>
</span><span id="line-168"></span><span class="hs-comment">-- &gt;&gt;&gt; generalCategory ' '</span><span>
</span><span id="line-169"></span><span class="hs-comment">-- Space</span><span>
</span><span id="line-170"></span><span class="hs-comment">--</span><span>
</span><span id="line-171"></span><span class="annot"><a href="GHC.Unicode.html#generalCategory"><span class="hs-identifier hs-type">generalCategory</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Char"><span class="hs-identifier hs-type">Char</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unicode.html#GeneralCategory"><span class="hs-identifier hs-type">GeneralCategory</span></a></span><span>
</span><span id="line-172"></span><span id="generalCategory"><span class="annot"><span class="annottext">generalCategory :: Char -&gt; GeneralCategory
</span><a href="GHC.Unicode.html#generalCategory"><span class="hs-identifier hs-var hs-var">generalCategory</span></a></span></span><span> </span><span id="local-6989586621679489080"><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489080"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; GeneralCategory
forall a. Enum a =&gt; Int -&gt; a
</span><a href="GHC.Enum.html#toEnum"><span class="hs-identifier hs-var">toEnum</span></a></span><span> </span><span class="annot"><span class="annottext">(Int -&gt; GeneralCategory) -&gt; Int -&gt; GeneralCategory
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int
forall a b. (Integral a, Num b) =&gt; a -&gt; b
</span><a href="GHC.Real.html#fromIntegral"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span> </span><span class="annot"><span class="annottext">(Int -&gt; Int) -&gt; Int -&gt; Int
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int
</span><a href="GHC.Unicode.html#wgencat"><span class="hs-identifier hs-var">wgencat</span></a></span><span> </span><span class="annot"><span class="annottext">(Int -&gt; Int) -&gt; Int -&gt; Int
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int
forall a b. (Integral a, Num b) =&gt; a -&gt; b
</span><a href="GHC.Real.html#fromIntegral"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span> </span><span class="annot"><span class="annottext">(Int -&gt; Int) -&gt; Int -&gt; Int
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">Char -&gt; Int
</span><a href="GHC.Base.html#ord"><span class="hs-identifier hs-var">ord</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489080"><span class="hs-identifier hs-var">c</span></a></span><span>
</span><span id="line-173"></span><span>
</span><span id="line-174"></span><span class="hs-comment">-- | Selects the first 128 characters of the Unicode character set,</span><span>
</span><span id="line-175"></span><span class="hs-comment">-- corresponding to the ASCII character set.</span><span>
</span><span id="line-176"></span><span class="annot"><a href="GHC.Unicode.html#isAscii"><span class="hs-identifier hs-type">isAscii</span></a></span><span>                 </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Char"><span class="hs-identifier hs-type">Char</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span>
</span><span id="line-177"></span><span id="isAscii"><span class="annot"><span class="annottext">isAscii :: Char -&gt; Bool
</span><a href="GHC.Unicode.html#isAscii"><span class="hs-identifier hs-var hs-var">isAscii</span></a></span></span><span> </span><span id="local-6989586621679489077"><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489077"><span class="hs-identifier hs-var">c</span></a></span></span><span>               </span><span class="hs-glyph">=</span><span>  </span><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489077"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">Char -&gt; Char -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3C"><span class="hs-operator hs-var">&lt;</span></a></span><span>  </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\x80'</span></span><span>
</span><span id="line-178"></span><span>
</span><span id="line-179"></span><span class="hs-comment">-- | Selects the first 256 characters of the Unicode character set,</span><span>
</span><span id="line-180"></span><span class="hs-comment">-- corresponding to the ISO 8859-1 (Latin-1) character set.</span><span>
</span><span id="line-181"></span><span class="annot"><a href="GHC.Unicode.html#isLatin1"><span class="hs-identifier hs-type">isLatin1</span></a></span><span>                </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Char"><span class="hs-identifier hs-type">Char</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span>
</span><span id="line-182"></span><span id="isLatin1"><span class="annot"><span class="annottext">isLatin1 :: Char -&gt; Bool
</span><a href="GHC.Unicode.html#isLatin1"><span class="hs-identifier hs-var hs-var">isLatin1</span></a></span></span><span> </span><span id="local-6989586621679489075"><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489075"><span class="hs-identifier hs-var">c</span></a></span></span><span>              </span><span class="hs-glyph">=</span><span>  </span><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489075"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">Char -&gt; Char -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3C%3D"><span class="hs-operator hs-var">&lt;=</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'\xff'</span></span><span>
</span><span id="line-183"></span><span>
</span><span id="line-184"></span><span class="hs-comment">-- | Selects ASCII lower-case letters,</span><span>
</span><span id="line-185"></span><span class="hs-comment">-- i.e. characters satisfying both 'isAscii' and 'isLower'.</span><span>
</span><span id="line-186"></span><span class="annot"><a href="GHC.Unicode.html#isAsciiLower"><span class="hs-identifier hs-type">isAsciiLower</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Char"><span class="hs-identifier hs-type">Char</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span>
</span><span id="line-187"></span><span id="isAsciiLower"><span class="annot"><span class="annottext">isAsciiLower :: Char -&gt; Bool
</span><a href="GHC.Unicode.html#isAsciiLower"><span class="hs-identifier hs-var hs-var">isAsciiLower</span></a></span></span><span> </span><span id="local-6989586621679489073"><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489073"><span class="hs-identifier hs-var">c</span></a></span></span><span>          </span><span class="hs-glyph">=</span><span>  </span><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489073"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">Char -&gt; Char -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3E%3D"><span class="hs-operator hs-var">&gt;=</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'a'</span></span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%26%26"><span class="hs-operator hs-var">&amp;&amp;</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489073"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">Char -&gt; Char -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3C%3D"><span class="hs-operator hs-var">&lt;=</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'z'</span></span><span>
</span><span id="line-188"></span><span>
</span><span id="line-189"></span><span class="hs-comment">-- | Selects ASCII upper-case letters,</span><span>
</span><span id="line-190"></span><span class="hs-comment">-- i.e. characters satisfying both 'isAscii' and 'isUpper'.</span><span>
</span><span id="line-191"></span><span class="annot"><a href="GHC.Unicode.html#isAsciiUpper"><span class="hs-identifier hs-type">isAsciiUpper</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Char"><span class="hs-identifier hs-type">Char</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span>
</span><span id="line-192"></span><span id="isAsciiUpper"><span class="annot"><span class="annottext">isAsciiUpper :: Char -&gt; Bool
</span><a href="GHC.Unicode.html#isAsciiUpper"><span class="hs-identifier hs-var hs-var">isAsciiUpper</span></a></span></span><span> </span><span id="local-6989586621679489071"><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489071"><span class="hs-identifier hs-var">c</span></a></span></span><span>          </span><span class="hs-glyph">=</span><span>  </span><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489071"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">Char -&gt; Char -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3E%3D"><span class="hs-operator hs-var">&gt;=</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'A'</span></span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%26%26"><span class="hs-operator hs-var">&amp;&amp;</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489071"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">Char -&gt; Char -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3C%3D"><span class="hs-operator hs-var">&lt;=</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'Z'</span></span><span>
</span><span id="line-193"></span><span>
</span><span id="line-194"></span><span class="hs-comment">-- | Selects control characters, which are the non-printing characters of</span><span>
</span><span id="line-195"></span><span class="hs-comment">-- the Latin-1 subset of Unicode.</span><span>
</span><span id="line-196"></span><span class="annot"><a href="GHC.Unicode.html#isControl"><span class="hs-identifier hs-type">isControl</span></a></span><span>               </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Char"><span class="hs-identifier hs-type">Char</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span>
</span><span id="line-197"></span><span>
</span><span id="line-198"></span><span class="hs-comment">-- | Selects printable Unicode characters</span><span>
</span><span id="line-199"></span><span class="hs-comment">-- (letters, numbers, marks, punctuation, symbols and spaces).</span><span>
</span><span id="line-200"></span><span class="annot"><a href="GHC.Unicode.html#isPrint"><span class="hs-identifier hs-type">isPrint</span></a></span><span>                 </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Char"><span class="hs-identifier hs-type">Char</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span>
</span><span id="line-201"></span><span>
</span><span id="line-202"></span><span class="hs-comment">-- | Returns 'True' for any Unicode space character, and the control</span><span>
</span><span id="line-203"></span><span class="hs-comment">-- characters @\\t@, @\\n@, @\\r@, @\\f@, @\\v@.</span><span>
</span><span id="line-204"></span><span class="annot"><a href="GHC.Unicode.html#isSpace"><span class="hs-identifier hs-type">isSpace</span></a></span><span>                 </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Char"><span class="hs-identifier hs-type">Char</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span>
</span><span id="line-205"></span><span class="hs-comment">-- isSpace includes non-breaking space</span><span>
</span><span id="line-206"></span><span class="hs-comment">-- The magic 0x377 isn't really that magical. As of 2014, all the codepoints</span><span>
</span><span id="line-207"></span><span class="hs-comment">-- at or below 0x377 have been assigned, so we shouldn't have to worry about</span><span>
</span><span id="line-208"></span><span class="hs-comment">-- any new spaces appearing below there. It would probably be best to</span><span>
</span><span id="line-209"></span><span class="hs-comment">-- use branchless ||, but currently the eqLit transformation will undo that,</span><span>
</span><span id="line-210"></span><span class="hs-comment">-- so we'll do it like this until there's a way around that.</span><span>
</span><span id="line-211"></span><span id="isSpace"><span class="annot"><span class="annottext">isSpace :: Char -&gt; Bool
</span><a href="GHC.Unicode.html#isSpace"><span class="hs-identifier hs-var hs-var">isSpace</span></a></span></span><span> </span><span id="local-6989586621679489070"><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489070"><span class="hs-identifier hs-var">c</span></a></span></span><span>
</span><span id="line-212"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Word
</span><a href="#local-6989586621679489069"><span class="hs-identifier hs-var">uc</span></a></span><span> </span><span class="annot"><span class="annottext">Word -&gt; Word -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3C%3D"><span class="hs-operator hs-var">&lt;=</span></a></span><span> </span><span class="annot"><span class="annottext">Word
</span><span class="hs-number">0x377</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word
</span><a href="#local-6989586621679489069"><span class="hs-identifier hs-var">uc</span></a></span><span> </span><span class="annot"><span class="annottext">Word -&gt; Word -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Word
</span><span class="hs-number">32</span></span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%7C%7C"><span class="hs-operator hs-var">||</span></a></span><span> </span><span class="annot"><span class="annottext">Word
</span><a href="#local-6989586621679489069"><span class="hs-identifier hs-var">uc</span></a></span><span> </span><span class="annot"><span class="annottext">Word -&gt; Word -&gt; Word
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Num.html#-"><span class="hs-glyph hs-var">-</span></a></span><span> </span><span class="annot"><span class="annottext">Word
</span><span class="hs-number">0x9</span></span><span> </span><span class="annot"><span class="annottext">Word -&gt; Word -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3C%3D"><span class="hs-operator hs-var">&lt;=</span></a></span><span> </span><span class="annot"><span class="annottext">Word
</span><span class="hs-number">4</span></span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%7C%7C"><span class="hs-operator hs-var">||</span></a></span><span> </span><span class="annot"><span class="annottext">Word
</span><a href="#local-6989586621679489069"><span class="hs-identifier hs-var">uc</span></a></span><span> </span><span class="annot"><span class="annottext">Word -&gt; Word -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Word
</span><span class="hs-number">0xa0</span></span><span>
</span><span id="line-213"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int
</span><a href="GHC.Unicode.html#iswspace"><span class="hs-identifier hs-var">iswspace</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Char -&gt; Int
</span><a href="GHC.Base.html#ord"><span class="hs-identifier hs-var">ord</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489070"><span class="hs-identifier hs-var">c</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%2F%3D"><span class="hs-operator hs-var">/=</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span>
</span><span id="line-214"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-215"></span><span>    </span><span id="local-6989586621679489069"><span class="annot"><span class="annottext">uc :: Word
</span><a href="#local-6989586621679489069"><span class="hs-identifier hs-var hs-var">uc</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; Word
forall a b. (Integral a, Num b) =&gt; a -&gt; b
</span><a href="GHC.Real.html#fromIntegral"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Char -&gt; Int
</span><a href="GHC.Base.html#ord"><span class="hs-identifier hs-var">ord</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489070"><span class="hs-identifier hs-var">c</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span>
</span><span id="line-216"></span><span>
</span><span id="line-217"></span><span class="hs-comment">-- | Selects upper-case or title-case alphabetic Unicode characters (letters).</span><span>
</span><span id="line-218"></span><span class="hs-comment">-- Title case is used by a small number of letter ligatures like the</span><span>
</span><span id="line-219"></span><span class="hs-comment">-- single-character form of /Lj/.</span><span>
</span><span id="line-220"></span><span class="annot"><a href="GHC.Unicode.html#isUpper"><span class="hs-identifier hs-type">isUpper</span></a></span><span>                 </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Char"><span class="hs-identifier hs-type">Char</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span>
</span><span id="line-221"></span><span>
</span><span id="line-222"></span><span class="hs-comment">-- | Selects lower-case alphabetic Unicode characters (letters).</span><span>
</span><span id="line-223"></span><span class="annot"><a href="GHC.Unicode.html#isLower"><span class="hs-identifier hs-type">isLower</span></a></span><span>                 </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Char"><span class="hs-identifier hs-type">Char</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span>
</span><span id="line-224"></span><span>
</span><span id="line-225"></span><span class="hs-comment">-- | Selects alphabetic Unicode characters (lower-case, upper-case and</span><span>
</span><span id="line-226"></span><span class="hs-comment">-- title-case letters, plus letters of caseless scripts and modifiers letters).</span><span>
</span><span id="line-227"></span><span class="hs-comment">-- This function is equivalent to 'Data.Char.isLetter'.</span><span>
</span><span id="line-228"></span><span class="annot"><a href="GHC.Unicode.html#isAlpha"><span class="hs-identifier hs-type">isAlpha</span></a></span><span>                 </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Char"><span class="hs-identifier hs-type">Char</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span>
</span><span id="line-229"></span><span>
</span><span id="line-230"></span><span class="hs-comment">-- | Selects alphabetic or numeric Unicode characters.</span><span>
</span><span id="line-231"></span><span class="hs-comment">--</span><span>
</span><span id="line-232"></span><span class="hs-comment">-- Note that numeric digits outside the ASCII range, as well as numeric</span><span>
</span><span id="line-233"></span><span class="hs-comment">-- characters which aren't digits, are selected by this function but not by</span><span>
</span><span id="line-234"></span><span class="hs-comment">-- 'isDigit'. Such characters may be part of identifiers but are not used by</span><span>
</span><span id="line-235"></span><span class="hs-comment">-- the printer and reader to represent numbers.</span><span>
</span><span id="line-236"></span><span class="annot"><a href="GHC.Unicode.html#isAlphaNum"><span class="hs-identifier hs-type">isAlphaNum</span></a></span><span>              </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Char"><span class="hs-identifier hs-type">Char</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span>
</span><span id="line-237"></span><span>
</span><span id="line-238"></span><span class="hs-comment">-- | Selects ASCII digits, i.e. @\'0\'@..@\'9\'@.</span><span>
</span><span id="line-239"></span><span class="annot"><a href="GHC.Unicode.html#isDigit"><span class="hs-identifier hs-type">isDigit</span></a></span><span>                 </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Char"><span class="hs-identifier hs-type">Char</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span>
</span><span id="line-240"></span><span id="isDigit"><span class="annot"><span class="annottext">isDigit :: Char -&gt; Bool
</span><a href="GHC.Unicode.html#isDigit"><span class="hs-identifier hs-var hs-var">isDigit</span></a></span></span><span> </span><span id="local-6989586621679489063"><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489063"><span class="hs-identifier hs-var">c</span></a></span></span><span>               </span><span class="hs-glyph">=</span><span>  </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int -&gt; Word
forall a b. (Integral a, Num b) =&gt; a -&gt; b
</span><a href="GHC.Real.html#fromIntegral"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Char -&gt; Int
</span><a href="GHC.Base.html#ord"><span class="hs-identifier hs-var">ord</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489063"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Num.html#-"><span class="hs-glyph hs-var">-</span></a></span><span> </span><span class="annot"><span class="annottext">Char -&gt; Int
</span><a href="GHC.Base.html#ord"><span class="hs-identifier hs-var">ord</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'0'</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Word -&gt; Word -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3C%3D"><span class="hs-operator hs-var">&lt;=</span></a></span><span> </span><span class="annot"><span class="annottext">Word
</span><span class="hs-number">9</span></span><span>
</span><span id="line-241"></span><span>
</span><span id="line-242"></span><span class="hs-comment">-- We use an addition and an unsigned comparison instead of two signed</span><span>
</span><span id="line-243"></span><span class="hs-comment">-- comparisons because it's usually faster and puts less strain on branch</span><span>
</span><span id="line-244"></span><span class="hs-comment">-- prediction. It likely also enables some CSE when combined with functions</span><span>
</span><span id="line-245"></span><span class="hs-comment">-- that follow up with an actual conversion.</span><span>
</span><span id="line-246"></span><span>
</span><span id="line-247"></span><span class="hs-comment">-- | Selects ASCII octal digits, i.e. @\'0\'@..@\'7\'@.</span><span>
</span><span id="line-248"></span><span class="annot"><a href="GHC.Unicode.html#isOctDigit"><span class="hs-identifier hs-type">isOctDigit</span></a></span><span>              </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Char"><span class="hs-identifier hs-type">Char</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span>
</span><span id="line-249"></span><span id="isOctDigit"><span class="annot"><span class="annottext">isOctDigit :: Char -&gt; Bool
</span><a href="GHC.Unicode.html#isOctDigit"><span class="hs-identifier hs-var hs-var">isOctDigit</span></a></span></span><span> </span><span id="local-6989586621679489062"><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489062"><span class="hs-identifier hs-var">c</span></a></span></span><span>            </span><span class="hs-glyph">=</span><span>  </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int -&gt; Word
forall a b. (Integral a, Num b) =&gt; a -&gt; b
</span><a href="GHC.Real.html#fromIntegral"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Char -&gt; Int
</span><a href="GHC.Base.html#ord"><span class="hs-identifier hs-var">ord</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489062"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Num.html#-"><span class="hs-glyph hs-var">-</span></a></span><span> </span><span class="annot"><span class="annottext">Char -&gt; Int
</span><a href="GHC.Base.html#ord"><span class="hs-identifier hs-var">ord</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'0'</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Word -&gt; Word -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3C%3D"><span class="hs-operator hs-var">&lt;=</span></a></span><span> </span><span class="annot"><span class="annottext">Word
</span><span class="hs-number">7</span></span><span>
</span><span id="line-250"></span><span>
</span><span id="line-251"></span><span class="hs-comment">-- | Selects ASCII hexadecimal digits,</span><span>
</span><span id="line-252"></span><span class="hs-comment">-- i.e. @\'0\'@..@\'9\'@, @\'a\'@..@\'f\'@, @\'A\'@..@\'F\'@.</span><span>
</span><span id="line-253"></span><span class="annot"><a href="GHC.Unicode.html#isHexDigit"><span class="hs-identifier hs-type">isHexDigit</span></a></span><span>              </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Char"><span class="hs-identifier hs-type">Char</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span>
</span><span id="line-254"></span><span id="isHexDigit"><span class="annot"><span class="annottext">isHexDigit :: Char -&gt; Bool
</span><a href="GHC.Unicode.html#isHexDigit"><span class="hs-identifier hs-var hs-var">isHexDigit</span></a></span></span><span> </span><span id="local-6989586621679489061"><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489061"><span class="hs-identifier hs-var">c</span></a></span></span><span>            </span><span class="hs-glyph">=</span><span>  </span><span class="annot"><span class="annottext">Char -&gt; Bool
</span><a href="GHC.Unicode.html#isDigit"><span class="hs-identifier hs-var">isDigit</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489061"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%7C%7C"><span class="hs-operator hs-var">||</span></a></span><span>
</span><span id="line-255"></span><span>                           </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int -&gt; Word
forall a b. (Integral a, Num b) =&gt; a -&gt; b
</span><a href="GHC.Real.html#fromIntegral"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Char -&gt; Int
</span><a href="GHC.Base.html#ord"><span class="hs-identifier hs-var">ord</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489061"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Num.html#-"><span class="hs-glyph hs-var">-</span></a></span><span> </span><span class="annot"><span class="annottext">Char -&gt; Int
</span><a href="GHC.Base.html#ord"><span class="hs-identifier hs-var">ord</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'A'</span></span><span class="hs-special">)</span><span class="hs-glyph">::</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Word -&gt; Word -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3C%3D"><span class="hs-operator hs-var">&lt;=</span></a></span><span> </span><span class="annot"><span class="annottext">Word
</span><span class="hs-number">5</span></span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%7C%7C"><span class="hs-operator hs-var">||</span></a></span><span>
</span><span id="line-256"></span><span>                           </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int -&gt; Word
forall a b. (Integral a, Num b) =&gt; a -&gt; b
</span><a href="GHC.Real.html#fromIntegral"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Char -&gt; Int
</span><a href="GHC.Base.html#ord"><span class="hs-identifier hs-var">ord</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489061"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Int
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Num.html#-"><span class="hs-glyph hs-var">-</span></a></span><span> </span><span class="annot"><span class="annottext">Char -&gt; Int
</span><a href="GHC.Base.html#ord"><span class="hs-identifier hs-var">ord</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'a'</span></span><span class="hs-special">)</span><span class="hs-glyph">::</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Word -&gt; Word -&gt; Bool
forall a. Ord a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3C%3D"><span class="hs-operator hs-var">&lt;=</span></a></span><span> </span><span class="annot"><span class="annottext">Word
</span><span class="hs-number">5</span></span><span>
</span><span id="line-257"></span><span>
</span><span id="line-258"></span><span class="hs-comment">-- | Selects Unicode punctuation characters, including various kinds</span><span>
</span><span id="line-259"></span><span class="hs-comment">-- of connectors, brackets and quotes.</span><span>
</span><span id="line-260"></span><span class="hs-comment">--</span><span>
</span><span id="line-261"></span><span class="hs-comment">-- This function returns 'True' if its argument has one of the</span><span>
</span><span id="line-262"></span><span class="hs-comment">-- following 'GeneralCategory's, or 'False' otherwise:</span><span>
</span><span id="line-263"></span><span class="hs-comment">--</span><span>
</span><span id="line-264"></span><span class="hs-comment">-- * 'ConnectorPunctuation'</span><span>
</span><span id="line-265"></span><span class="hs-comment">-- * 'DashPunctuation'</span><span>
</span><span id="line-266"></span><span class="hs-comment">-- * 'OpenPunctuation'</span><span>
</span><span id="line-267"></span><span class="hs-comment">-- * 'ClosePunctuation'</span><span>
</span><span id="line-268"></span><span class="hs-comment">-- * 'InitialQuote'</span><span>
</span><span id="line-269"></span><span class="hs-comment">-- * 'FinalQuote'</span><span>
</span><span id="line-270"></span><span class="hs-comment">-- * 'OtherPunctuation'</span><span>
</span><span id="line-271"></span><span class="hs-comment">--</span><span>
</span><span id="line-272"></span><span class="hs-comment">-- These classes are defined in the</span><span>
</span><span id="line-273"></span><span class="hs-comment">-- &lt;http://www.unicode.org/reports/tr44/tr44-14.html#GC_Values_Table Unicode Character Database&gt;,</span><span>
</span><span id="line-274"></span><span class="hs-comment">-- part of the Unicode standard. The same document defines what is</span><span>
</span><span id="line-275"></span><span class="hs-comment">-- and is not a \&quot;Punctuation\&quot;.</span><span>
</span><span id="line-276"></span><span class="hs-comment">--</span><span>
</span><span id="line-277"></span><span class="hs-comment">-- ==== __Examples__</span><span>
</span><span id="line-278"></span><span class="hs-comment">--</span><span>
</span><span id="line-279"></span><span class="hs-comment">-- Basic usage:</span><span>
</span><span id="line-280"></span><span class="hs-comment">--</span><span>
</span><span id="line-281"></span><span class="hs-comment">-- &gt;&gt;&gt; isPunctuation 'a'</span><span>
</span><span id="line-282"></span><span class="hs-comment">-- False</span><span>
</span><span id="line-283"></span><span class="hs-comment">-- &gt;&gt;&gt; isPunctuation '7'</span><span>
</span><span id="line-284"></span><span class="hs-comment">-- False</span><span>
</span><span id="line-285"></span><span class="hs-comment">-- &gt;&gt;&gt; isPunctuation '&#9829;'</span><span>
</span><span id="line-286"></span><span class="hs-comment">-- False</span><span>
</span><span id="line-287"></span><span class="hs-comment">-- &gt;&gt;&gt; isPunctuation '&quot;'</span><span>
</span><span id="line-288"></span><span class="hs-comment">-- True</span><span>
</span><span id="line-289"></span><span class="hs-comment">-- &gt;&gt;&gt; isPunctuation '?'</span><span>
</span><span id="line-290"></span><span class="hs-comment">-- True</span><span>
</span><span id="line-291"></span><span class="hs-comment">-- &gt;&gt;&gt; isPunctuation '&#8212;'</span><span>
</span><span id="line-292"></span><span class="hs-comment">-- True</span><span>
</span><span id="line-293"></span><span class="hs-comment">--</span><span>
</span><span id="line-294"></span><span class="annot"><a href="GHC.Unicode.html#isPunctuation"><span class="hs-identifier hs-type">isPunctuation</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Char"><span class="hs-identifier hs-type">Char</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span>
</span><span id="line-295"></span><span id="isPunctuation"><span class="annot"><span class="annottext">isPunctuation :: Char -&gt; Bool
</span><a href="GHC.Unicode.html#isPunctuation"><span class="hs-identifier hs-var hs-var">isPunctuation</span></a></span></span><span> </span><span id="local-6989586621679489060"><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489060"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Char -&gt; GeneralCategory
</span><a href="GHC.Unicode.html#generalCategory"><span class="hs-identifier hs-var">generalCategory</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489060"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-296"></span><span>        </span><span class="annot"><span class="annottext">GeneralCategory
</span><a href="GHC.Unicode.html#ConnectorPunctuation"><span class="hs-identifier hs-var">ConnectorPunctuation</span></a></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>
</span><span id="line-297"></span><span>        </span><span class="annot"><span class="annottext">GeneralCategory
</span><a href="GHC.Unicode.html#DashPunctuation"><span class="hs-identifier hs-var">DashPunctuation</span></a></span><span>         </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>
</span><span id="line-298"></span><span>        </span><span class="annot"><span class="annottext">GeneralCategory
</span><a href="GHC.Unicode.html#OpenPunctuation"><span class="hs-identifier hs-var">OpenPunctuation</span></a></span><span>         </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>
</span><span id="line-299"></span><span>        </span><span class="annot"><span class="annottext">GeneralCategory
</span><a href="GHC.Unicode.html#ClosePunctuation"><span class="hs-identifier hs-var">ClosePunctuation</span></a></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>
</span><span id="line-300"></span><span>        </span><span class="annot"><span class="annottext">GeneralCategory
</span><a href="GHC.Unicode.html#InitialQuote"><span class="hs-identifier hs-var">InitialQuote</span></a></span><span>            </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>
</span><span id="line-301"></span><span>        </span><span class="annot"><span class="annottext">GeneralCategory
</span><a href="GHC.Unicode.html#FinalQuote"><span class="hs-identifier hs-var">FinalQuote</span></a></span><span>              </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>
</span><span id="line-302"></span><span>        </span><span class="annot"><span class="annottext">GeneralCategory
</span><a href="GHC.Unicode.html#OtherPunctuation"><span class="hs-identifier hs-var">OtherPunctuation</span></a></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>
</span><span id="line-303"></span><span>        </span><span class="annot"><span class="annottext">GeneralCategory
</span><span class="hs-identifier">_</span></span><span>                       </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#False"><span class="hs-identifier hs-var">False</span></a></span><span>
</span><span id="line-304"></span><span>
</span><span id="line-305"></span><span class="hs-comment">-- | Selects Unicode symbol characters, including mathematical and</span><span>
</span><span id="line-306"></span><span class="hs-comment">-- currency symbols.</span><span>
</span><span id="line-307"></span><span class="hs-comment">--</span><span>
</span><span id="line-308"></span><span class="hs-comment">-- This function returns 'True' if its argument has one of the</span><span>
</span><span id="line-309"></span><span class="hs-comment">-- following 'GeneralCategory's, or 'False' otherwise:</span><span>
</span><span id="line-310"></span><span class="hs-comment">--</span><span>
</span><span id="line-311"></span><span class="hs-comment">-- * 'MathSymbol'</span><span>
</span><span id="line-312"></span><span class="hs-comment">-- * 'CurrencySymbol'</span><span>
</span><span id="line-313"></span><span class="hs-comment">-- * 'ModifierSymbol'</span><span>
</span><span id="line-314"></span><span class="hs-comment">-- * 'OtherSymbol'</span><span>
</span><span id="line-315"></span><span class="hs-comment">--</span><span>
</span><span id="line-316"></span><span class="hs-comment">-- These classes are defined in the</span><span>
</span><span id="line-317"></span><span class="hs-comment">-- &lt;http://www.unicode.org/reports/tr44/tr44-14.html#GC_Values_Table Unicode Character Database&gt;,</span><span>
</span><span id="line-318"></span><span class="hs-comment">-- part of the Unicode standard. The same document defines what is</span><span>
</span><span id="line-319"></span><span class="hs-comment">-- and is not a \&quot;Symbol\&quot;.</span><span>
</span><span id="line-320"></span><span class="hs-comment">--</span><span>
</span><span id="line-321"></span><span class="hs-comment">-- ==== __Examples__</span><span>
</span><span id="line-322"></span><span class="hs-comment">--</span><span>
</span><span id="line-323"></span><span class="hs-comment">-- Basic usage:</span><span>
</span><span id="line-324"></span><span class="hs-comment">--</span><span>
</span><span id="line-325"></span><span class="hs-comment">-- &gt;&gt;&gt; isSymbol 'a'</span><span>
</span><span id="line-326"></span><span class="hs-comment">-- False</span><span>
</span><span id="line-327"></span><span class="hs-comment">-- &gt;&gt;&gt; isSymbol '6'</span><span>
</span><span id="line-328"></span><span class="hs-comment">-- False</span><span>
</span><span id="line-329"></span><span class="hs-comment">-- &gt;&gt;&gt; isSymbol '='</span><span>
</span><span id="line-330"></span><span class="hs-comment">-- True</span><span>
</span><span id="line-331"></span><span class="hs-comment">--</span><span>
</span><span id="line-332"></span><span class="hs-comment">-- The definition of \&quot;math symbol\&quot; may be a little</span><span>
</span><span id="line-333"></span><span class="hs-comment">-- counter-intuitive depending on one's background:</span><span>
</span><span id="line-334"></span><span class="hs-comment">--</span><span>
</span><span id="line-335"></span><span class="hs-comment">-- &gt;&gt;&gt; isSymbol '+'</span><span>
</span><span id="line-336"></span><span class="hs-comment">-- True</span><span>
</span><span id="line-337"></span><span class="hs-comment">-- &gt;&gt;&gt; isSymbol '-'</span><span>
</span><span id="line-338"></span><span class="hs-comment">-- False</span><span>
</span><span id="line-339"></span><span class="hs-comment">--</span><span>
</span><span id="line-340"></span><span class="annot"><a href="GHC.Unicode.html#isSymbol"><span class="hs-identifier hs-type">isSymbol</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Char"><span class="hs-identifier hs-type">Char</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span>
</span><span id="line-341"></span><span id="isSymbol"><span class="annot"><span class="annottext">isSymbol :: Char -&gt; Bool
</span><a href="GHC.Unicode.html#isSymbol"><span class="hs-identifier hs-var hs-var">isSymbol</span></a></span></span><span> </span><span id="local-6989586621679489059"><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489059"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Char -&gt; GeneralCategory
</span><a href="GHC.Unicode.html#generalCategory"><span class="hs-identifier hs-var">generalCategory</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489059"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-342"></span><span>        </span><span class="annot"><span class="annottext">GeneralCategory
</span><a href="GHC.Unicode.html#MathSymbol"><span class="hs-identifier hs-var">MathSymbol</span></a></span><span>              </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>
</span><span id="line-343"></span><span>        </span><span class="annot"><span class="annottext">GeneralCategory
</span><a href="GHC.Unicode.html#CurrencySymbol"><span class="hs-identifier hs-var">CurrencySymbol</span></a></span><span>          </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>
</span><span id="line-344"></span><span>        </span><span class="annot"><span class="annottext">GeneralCategory
</span><a href="GHC.Unicode.html#ModifierSymbol"><span class="hs-identifier hs-var">ModifierSymbol</span></a></span><span>          </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>
</span><span id="line-345"></span><span>        </span><span class="annot"><span class="annottext">GeneralCategory
</span><a href="GHC.Unicode.html#OtherSymbol"><span class="hs-identifier hs-var">OtherSymbol</span></a></span><span>             </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>
</span><span id="line-346"></span><span>        </span><span class="annot"><span class="annottext">GeneralCategory
</span><span class="hs-identifier">_</span></span><span>                       </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#False"><span class="hs-identifier hs-var">False</span></a></span><span>
</span><span id="line-347"></span><span>
</span><span id="line-348"></span><span class="hs-comment">-- | Convert a letter to the corresponding upper-case letter, if any.</span><span>
</span><span id="line-349"></span><span class="hs-comment">-- Any other character is returned unchanged.</span><span>
</span><span id="line-350"></span><span class="annot"><a href="GHC.Unicode.html#toUpper"><span class="hs-identifier hs-type">toUpper</span></a></span><span>                 </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Char"><span class="hs-identifier hs-type">Char</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Char"><span class="hs-identifier hs-type">Char</span></a></span><span>
</span><span id="line-351"></span><span>
</span><span id="line-352"></span><span class="hs-comment">-- | Convert a letter to the corresponding lower-case letter, if any.</span><span>
</span><span id="line-353"></span><span class="hs-comment">-- Any other character is returned unchanged.</span><span>
</span><span id="line-354"></span><span class="annot"><a href="GHC.Unicode.html#toLower"><span class="hs-identifier hs-type">toLower</span></a></span><span>                 </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Char"><span class="hs-identifier hs-type">Char</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Char"><span class="hs-identifier hs-type">Char</span></a></span><span>
</span><span id="line-355"></span><span>
</span><span id="line-356"></span><span class="hs-comment">-- | Convert a letter to the corresponding title-case or upper-case</span><span>
</span><span id="line-357"></span><span class="hs-comment">-- letter, if any.  (Title case differs from upper case only for a small</span><span>
</span><span id="line-358"></span><span class="hs-comment">-- number of ligature letters.)</span><span>
</span><span id="line-359"></span><span class="hs-comment">-- Any other character is returned unchanged.</span><span>
</span><span id="line-360"></span><span class="annot"><a href="GHC.Unicode.html#toTitle"><span class="hs-identifier hs-type">toTitle</span></a></span><span>                 </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Char"><span class="hs-identifier hs-type">Char</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Char"><span class="hs-identifier hs-type">Char</span></a></span><span>
</span><span id="line-361"></span><span>
</span><span id="line-362"></span><span class="hs-comment">-- -----------------------------------------------------------------------------</span><span>
</span><span id="line-363"></span><span class="hs-comment">-- Implementation with the supplied auto-generated Unicode character properties</span><span>
</span><span id="line-364"></span><span class="hs-comment">-- table</span><span>
</span><span id="line-365"></span><span>
</span><span id="line-366"></span><span class="hs-comment">-- Regardless of the O/S and Library, use the functions contained in WCsubst.c</span><span>
</span><span id="line-367"></span><span>
</span><span id="line-368"></span><span id="isAlpha"><span class="annot"><span class="annottext">isAlpha :: Char -&gt; Bool
</span><a href="GHC.Unicode.html#isAlpha"><span class="hs-identifier hs-var hs-var">isAlpha</span></a></span></span><span>    </span><span id="local-6989586621679489058"><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489058"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int
</span><a href="GHC.Unicode.html#iswalpha"><span class="hs-identifier hs-var">iswalpha</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Char -&gt; Int
</span><a href="GHC.Base.html#ord"><span class="hs-identifier hs-var">ord</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489058"><span class="hs-identifier hs-var">c</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%2F%3D"><span class="hs-operator hs-var">/=</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span>
</span><span id="line-369"></span><span id="isAlphaNum"><span class="annot"><span class="annottext">isAlphaNum :: Char -&gt; Bool
</span><a href="GHC.Unicode.html#isAlphaNum"><span class="hs-identifier hs-var hs-var">isAlphaNum</span></a></span></span><span> </span><span id="local-6989586621679489056"><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489056"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int
</span><a href="GHC.Unicode.html#iswalnum"><span class="hs-identifier hs-var">iswalnum</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Char -&gt; Int
</span><a href="GHC.Base.html#ord"><span class="hs-identifier hs-var">ord</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489056"><span class="hs-identifier hs-var">c</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%2F%3D"><span class="hs-operator hs-var">/=</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span>
</span><span id="line-370"></span><span id="isControl"><span class="annot"><span class="annottext">isControl :: Char -&gt; Bool
</span><a href="GHC.Unicode.html#isControl"><span class="hs-identifier hs-var hs-var">isControl</span></a></span></span><span>  </span><span id="local-6989586621679489054"><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489054"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int
</span><a href="GHC.Unicode.html#iswcntrl"><span class="hs-identifier hs-var">iswcntrl</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Char -&gt; Int
</span><a href="GHC.Base.html#ord"><span class="hs-identifier hs-var">ord</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489054"><span class="hs-identifier hs-var">c</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%2F%3D"><span class="hs-operator hs-var">/=</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span>
</span><span id="line-371"></span><span id="isPrint"><span class="annot"><span class="annottext">isPrint :: Char -&gt; Bool
</span><a href="GHC.Unicode.html#isPrint"><span class="hs-identifier hs-var hs-var">isPrint</span></a></span></span><span>    </span><span id="local-6989586621679489052"><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489052"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int
</span><a href="GHC.Unicode.html#iswprint"><span class="hs-identifier hs-var">iswprint</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Char -&gt; Int
</span><a href="GHC.Base.html#ord"><span class="hs-identifier hs-var">ord</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489052"><span class="hs-identifier hs-var">c</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%2F%3D"><span class="hs-operator hs-var">/=</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span>
</span><span id="line-372"></span><span id="isUpper"><span class="annot"><span class="annottext">isUpper :: Char -&gt; Bool
</span><a href="GHC.Unicode.html#isUpper"><span class="hs-identifier hs-var hs-var">isUpper</span></a></span></span><span>    </span><span id="local-6989586621679489050"><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489050"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int
</span><a href="GHC.Unicode.html#iswupper"><span class="hs-identifier hs-var">iswupper</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Char -&gt; Int
</span><a href="GHC.Base.html#ord"><span class="hs-identifier hs-var">ord</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489050"><span class="hs-identifier hs-var">c</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%2F%3D"><span class="hs-operator hs-var">/=</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span>
</span><span id="line-373"></span><span id="isLower"><span class="annot"><span class="annottext">isLower :: Char -&gt; Bool
</span><a href="GHC.Unicode.html#isLower"><span class="hs-identifier hs-var hs-var">isLower</span></a></span></span><span>    </span><span id="local-6989586621679489048"><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489048"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int
</span><a href="GHC.Unicode.html#iswlower"><span class="hs-identifier hs-var">iswlower</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Char -&gt; Int
</span><a href="GHC.Base.html#ord"><span class="hs-identifier hs-var">ord</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489048"><span class="hs-identifier hs-var">c</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Int -&gt; Int -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%2F%3D"><span class="hs-operator hs-var">/=</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span>
</span><span id="line-374"></span><span>
</span><span id="line-375"></span><span id="toLower"><span class="annot"><span class="annottext">toLower :: Char -&gt; Char
</span><a href="GHC.Unicode.html#toLower"><span class="hs-identifier hs-var hs-var">toLower</span></a></span></span><span> </span><span id="local-6989586621679489046"><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489046"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; Char
</span><a href="GHC.Char.html#chr"><span class="hs-identifier hs-var">chr</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int -&gt; Int
</span><a href="GHC.Unicode.html#towlower"><span class="hs-identifier hs-var">towlower</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Char -&gt; Int
</span><a href="GHC.Base.html#ord"><span class="hs-identifier hs-var">ord</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489046"><span class="hs-identifier hs-var">c</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-376"></span><span id="toUpper"><span class="annot"><span class="annottext">toUpper :: Char -&gt; Char
</span><a href="GHC.Unicode.html#toUpper"><span class="hs-identifier hs-var hs-var">toUpper</span></a></span></span><span> </span><span id="local-6989586621679489044"><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489044"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; Char
</span><a href="GHC.Char.html#chr"><span class="hs-identifier hs-var">chr</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int -&gt; Int
</span><a href="GHC.Unicode.html#towupper"><span class="hs-identifier hs-var">towupper</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Char -&gt; Int
</span><a href="GHC.Base.html#ord"><span class="hs-identifier hs-var">ord</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489044"><span class="hs-identifier hs-var">c</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-377"></span><span id="toTitle"><span class="annot"><span class="annottext">toTitle :: Char -&gt; Char
</span><a href="GHC.Unicode.html#toTitle"><span class="hs-identifier hs-var hs-var">toTitle</span></a></span></span><span> </span><span id="local-6989586621679489042"><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489042"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; Char
</span><a href="GHC.Char.html#chr"><span class="hs-identifier hs-var">chr</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int -&gt; Int
</span><a href="GHC.Unicode.html#towtitle"><span class="hs-identifier hs-var">towtitle</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Char -&gt; Int
</span><a href="GHC.Base.html#ord"><span class="hs-identifier hs-var">ord</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679489042"><span class="hs-identifier hs-var">c</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-378"></span><span>
</span><span id="line-379"></span><span class="hs-keyword">foreign</span><span> </span><span class="hs-keyword">import</span><span> </span><span class="annot"><span class="hs-keyword">ccall</span></span><span> </span><span class="annot"><span class="hs-keyword">unsafe</span></span><span> </span><span class="annot"><span class="hs-string">&quot;u_iswalpha&quot;</span></span><span>
</span><span id="line-380"></span><span>  </span><span id="iswalpha"><span class="annot"><a href="GHC.Unicode.html#iswalpha"><span class="hs-identifier hs-var">iswalpha</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span>
</span><span id="line-381"></span><span>
</span><span id="line-382"></span><span class="hs-keyword">foreign</span><span> </span><span class="hs-keyword">import</span><span> </span><span class="annot"><span class="hs-keyword">ccall</span></span><span> </span><span class="annot"><span class="hs-keyword">unsafe</span></span><span> </span><span class="annot"><span class="hs-string">&quot;u_iswalnum&quot;</span></span><span>
</span><span id="line-383"></span><span>  </span><span id="iswalnum"><span class="annot"><a href="GHC.Unicode.html#iswalnum"><span class="hs-identifier hs-var">iswalnum</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span>
</span><span id="line-384"></span><span>
</span><span id="line-385"></span><span class="hs-keyword">foreign</span><span> </span><span class="hs-keyword">import</span><span> </span><span class="annot"><span class="hs-keyword">ccall</span></span><span> </span><span class="annot"><span class="hs-keyword">unsafe</span></span><span> </span><span class="annot"><span class="hs-string">&quot;u_iswcntrl&quot;</span></span><span>
</span><span id="line-386"></span><span>  </span><span id="iswcntrl"><span class="annot"><a href="GHC.Unicode.html#iswcntrl"><span class="hs-identifier hs-var">iswcntrl</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span>
</span><span id="line-387"></span><span>
</span><span id="line-388"></span><span class="hs-keyword">foreign</span><span> </span><span class="hs-keyword">import</span><span> </span><span class="annot"><span class="hs-keyword">ccall</span></span><span> </span><span class="annot"><span class="hs-keyword">unsafe</span></span><span> </span><span class="annot"><span class="hs-string">&quot;u_iswspace&quot;</span></span><span>
</span><span id="line-389"></span><span>  </span><span id="iswspace"><span class="annot"><a href="GHC.Unicode.html#iswspace"><span class="hs-identifier hs-var">iswspace</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span>
</span><span id="line-390"></span><span>
</span><span id="line-391"></span><span class="hs-keyword">foreign</span><span> </span><span class="hs-keyword">import</span><span> </span><span class="annot"><span class="hs-keyword">ccall</span></span><span> </span><span class="annot"><span class="hs-keyword">unsafe</span></span><span> </span><span class="annot"><span class="hs-string">&quot;u_iswprint&quot;</span></span><span>
</span><span id="line-392"></span><span>  </span><span id="iswprint"><span class="annot"><a href="GHC.Unicode.html#iswprint"><span class="hs-identifier hs-var">iswprint</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span>
</span><span id="line-393"></span><span>
</span><span id="line-394"></span><span class="hs-keyword">foreign</span><span> </span><span class="hs-keyword">import</span><span> </span><span class="annot"><span class="hs-keyword">ccall</span></span><span> </span><span class="annot"><span class="hs-keyword">unsafe</span></span><span> </span><span class="annot"><span class="hs-string">&quot;u_iswlower&quot;</span></span><span>
</span><span id="line-395"></span><span>  </span><span id="iswlower"><span class="annot"><a href="GHC.Unicode.html#iswlower"><span class="hs-identifier hs-var">iswlower</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span>
</span><span id="line-396"></span><span>
</span><span id="line-397"></span><span class="hs-keyword">foreign</span><span> </span><span class="hs-keyword">import</span><span> </span><span class="annot"><span class="hs-keyword">ccall</span></span><span> </span><span class="annot"><span class="hs-keyword">unsafe</span></span><span> </span><span class="annot"><span class="hs-string">&quot;u_iswupper&quot;</span></span><span>
</span><span id="line-398"></span><span>  </span><span id="iswupper"><span class="annot"><a href="GHC.Unicode.html#iswupper"><span class="hs-identifier hs-var">iswupper</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span>
</span><span id="line-399"></span><span>
</span><span id="line-400"></span><span class="hs-keyword">foreign</span><span> </span><span class="hs-keyword">import</span><span> </span><span class="annot"><span class="hs-keyword">ccall</span></span><span> </span><span class="annot"><span class="hs-keyword">unsafe</span></span><span> </span><span class="annot"><span class="hs-string">&quot;u_towlower&quot;</span></span><span>
</span><span id="line-401"></span><span>  </span><span id="towlower"><span class="annot"><a href="GHC.Unicode.html#towlower"><span class="hs-identifier hs-var">towlower</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span>
</span><span id="line-402"></span><span>
</span><span id="line-403"></span><span class="hs-keyword">foreign</span><span> </span><span class="hs-keyword">import</span><span> </span><span class="annot"><span class="hs-keyword">ccall</span></span><span> </span><span class="annot"><span class="hs-keyword">unsafe</span></span><span> </span><span class="annot"><span class="hs-string">&quot;u_towupper&quot;</span></span><span>
</span><span id="line-404"></span><span>  </span><span id="towupper"><span class="annot"><a href="GHC.Unicode.html#towupper"><span class="hs-identifier hs-var">towupper</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span>
</span><span id="line-405"></span><span>
</span><span id="line-406"></span><span class="hs-keyword">foreign</span><span> </span><span class="hs-keyword">import</span><span> </span><span class="annot"><span class="hs-keyword">ccall</span></span><span> </span><span class="annot"><span class="hs-keyword">unsafe</span></span><span> </span><span class="annot"><span class="hs-string">&quot;u_towtitle&quot;</span></span><span>
</span><span id="line-407"></span><span>  </span><span id="towtitle"><span class="annot"><a href="GHC.Unicode.html#towtitle"><span class="hs-identifier hs-var">towtitle</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span>
</span><span id="line-408"></span><span>
</span><span id="line-409"></span><span class="hs-keyword">foreign</span><span> </span><span class="hs-keyword">import</span><span> </span><span class="annot"><span class="hs-keyword">ccall</span></span><span> </span><span class="annot"><span class="hs-keyword">unsafe</span></span><span> </span><span class="annot"><span class="hs-string">&quot;u_gencat&quot;</span></span><span>
</span><span id="line-410"></span><span>  </span><span id="wgencat"><span class="annot"><a href="GHC.Unicode.html#wgencat"><span class="hs-identifier hs-var">wgencat</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span>
</span><span id="line-411"></span></pre></body></html>